Optical encoders are used in position displacement measurement related to linear or angular movement. A typical optical encoder employs a light source that projects a light beam towards a code wheel or a code strip. Movement of the code wheel or code strip “encodes” the light beam, which is subsequently received by light detectors. The light detectors convert the encoded light into electrical signals or codes, which are processed by electrical circuits for the position displacement measurement. In an absolute encoder, each output from the encoder corresponds to a unique position of the code wheel or code strip. In an incremental encoder, the output of the encoder is a count or a train of pulses.
Interpolators are an important component in optical encoders, as they improve the accuracy and resolution of the optical encoders. The resolution and frequency response of the interpolator directly affect the resolution of the optical encoder. Some traditional interpolators based on TTL (transistor-transistor logic) comparators or ADCs (analog-digital convertors) do not provide enough resolution for high-speed systems. For example, they may have a maximum interpolation factor of about 50. Interpolators based on quadrature electrical phase-locked loop (QEPLL) may provide an interpolation factor of about 70. However, QEPLL-based interpolators generally require a ROM (read-only memory) and a look-up table to produce reference waveforms, which requires large chip or board area and is therefore not cost-effective. Improvements in these areas are desired.